$(document).ready(
		function() {
			$(".delete").click(
					function() {
						var url = "grocerylist/deletefromlist?id="
								+ $(this).attr('id');
						// console.log(url);
						ajax_request("GET", url);
						$('#tr' + $(this).attr('id')).remove();
						getTotalPrice();
					});

			$(".add").click(function() {
				var id = $(this).attr('id');
				var name = $(".name-" + id).html();
				var url = "products/addtolist?id=" + id;
				// console.log(url);
				ajax_request("GET", url); // The ajax request
				$(".alert").html(name + " is aan de boodschappenlijst toegevoegd.");
			});

			$(".change").click(
					function() {
						var id = $(this).attr("id");
						var newAmount = $(".amount-" + id).val();
						var price = $(".price-" + id).html();
						if (!isNumber(newAmount)) 
						{
							$(".alert-" + id).html("Voer een nummer in.");
						}
						else if(!isHigherThanZero(newAmount)) 
						{
							$(".alert-" + id).html("Het getal moet hoger zijn dan nul.");
						}
						else 
						{
							var url = "grocerylist/changeproductamount?id="
									+ id + "&amount=" + newAmount;
							ajax_request("GET", url);
							var total = newAmount * price;
							$(".total-" + id).html(total.toFixed(2));
							$(".alert-" + id).html("");
							getTotalPrice();
						}
					});
		});

function getTotalPrice() { 
	var total = parseFloat(0);
	$(".grocerylist tr").each(function() {
		if (!this.rowIndex) return;
		if(isNumber(parseFloat($(this).find("td").eq(3).html())))
			total += parseFloat($(this).find("td").eq(3).html());
	});
	$(".totalprice").html(total.toFixed(2));
}

function isNumber(n) {
	return !isNaN(parseFloat(n)) && isFinite(n);
}

function isHigherThanZero(n) {
	return n > 0;
}

function ajax_request(method, url) {
	var xmlhttp;
	if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp = new XMLHttpRequest();
	} else {// code for IE6, IE5
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp.open(method, url);
	xmlhttp.send();
}